/*************************************************************************************
 *
 *	模块名称 : 链表操作接口
 *	文件名称 : 03_list.c
 *	版   本 : V1.0
 *	说   明 : 线程邮箱中链表的相应操作函数接口
 *	修改记录 :
 *		     版本号       日期         作者        说明
 *	         V1.0     2023-04-13      rush_long        发布
 *
 *	
 *
 *************************************************************************************/

#include "03_list.h"

LIST_LINK *list_init()
{
    LIST_LINK *temp = malloc(sizeof(LIST_LINK));			//申请节点空间
    temp->next = NULL;

    return temp;
}

void list_add(LIST_LINK *head, LIST_LINK *info)
{

        info->next = head->next;			//头插
        head->next = info;

}

LIST_LINK *list_for_each(LIST_LINK* head, char *name)
{
    LIST_LINK *tmp = NULL;
    tmp = head;
    while(tmp->next != NULL)						//循环直到最后一个节点
    {
        if(strncmp(tmp->elem.name, name, strlen(name)) == 0)
		{
           return tmp;
		}

        tmp = tmp->next;
    }

    if(strncmp(tmp->elem.name, name, strlen(name)) == 0)			//判断跳出循环后的节点是信息是否符合要求
	{
        return tmp;
	}
    else
	{
        return NULL;
	}
}
